﻿/*-------------------------------------------------------------------------
* 命名空间: XrayDirection.HelperManager/DateTimeHelper
* 类       名: DateTimeHelper
* 功      能:  TD
* 时      间:  2024/1/3 9:20:33
* 版      本:  V1.0
* 作      者:  Fioman
* 格      言:  Talk is cheap,show me the code ^_^
*-------------------------------------------------------------------------*/
using System;
using XrayDirection.Common;

namespace XrayDirection.HelperManager
{
    public static class DateTimeHelper
    {

        /// <summary>
        /// 获取当前时间,用于保存到数据库,界面显示,类似这种 2023-07-14 10:20:54
        /// </summary>
        /// <returns></returns>
        public static string GetTimeNowForSql()
        {
            return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        }


        public static string GetTimeNowForDir()
        {
            return DateTime.Now.ToString("yyyy-MM-dd");
        }

        /// <summary>
        /// 获取当前时间,用于保存图像的时候显示保存时间,类似这种2024-02-21--10-37-20
        /// </summary>
        /// <returns></returns>
        public static string GetTimeNowForKeepImage()
        {
            return DateTime.Now.ToString("yyyy-MM-dd--HH-mm-ss");
        }


        /// <summary>
        /// 获取首页显示的时间日期.
        /// 类似 2023年06月25日 星期六 14:20:21
        /// 根据时间去判断即可
        /// </summary>
        /// <returns></returns>
        public static string GetProductionDatetime()
        {
            TimeSpan startTime = new TimeSpan(8, 0, 0);
            TimeSpan endTime = new TimeSpan(20, 0, 0);
            DateTime datetime = DateTime.Now;
            // 星期映射,因为这里得到的星期几,是英文的,要把英文的转换为中文的,做了一个映射即可.
            var weekDay = ConstantManager.WeekChineseMap[datetime.DayOfWeek];
            // 获取时间部分,也就是时分秒部分
            TimeSpan timeOfDay = datetime.TimeOfDay;
            if (timeOfDay >= startTime && timeOfDay <= endTime)
            {
                return datetime.ToString($"yyyy年MM月dd日 {weekDay} 白班 HH:mm:ss ");
            }
            else
            {
                return datetime.ToString($"yyyy年MM月dd日 {weekDay} 夜班 HH:mm:ss ");
            }
        }
    }
}
